﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Общ)
	///</summary>
	[DataContract]
	public enum КодыОперацийТоварыНаСкладах
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"7a7abcfa-f6da-476c-8a8b-3c6808d41859\", \"Представление\":\"СписаниеПартийВПроизводствоОперативно\"}")]
		СписаниеПартийВПроизводствоОперативно = 0,//Списание партий в производство оперативно
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"d8a4a784-b0ff-410c-8592-9292d15b385f\", \"Представление\":\"ВыпускПродукцииФиксНаСклад\"}")]
		ВыпускПродукцииФиксНаСклад = 1,//Выпуск продукции фикс. (на склад)
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"7829f6aa-d2fc-4ae8-8cb1-d26a697682a2\", \"Представление\":\"ВозвратМатериаловИзПроизводстваФикс\"}")]
		ВозвратМатериаловИзПроизводстваФикс = 2,//Возврат материалов из производства по фиксированной стоимости
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"7086269d-76d0-4912-86f6-0daf5125cbab\", \"Представление\":\"ВозвратМатериаловИзПроизводстваРасч\"}")]
		ВозвратМатериаловИзПроизводстваРасч = 3,//Возврат материалов из производства по расчетной стоимости
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"cca88e3f-728f-43b1-b3ee-48c23b450ff1\", \"Представление\":\"ВозвратПродукцииИзПроизводстваФикс\"}")]
		ВозвратПродукцииИзПроизводстваФикс = 4,//Возврат продукции из производства по фиксированной стоимости
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"9bff929d-af0c-43b3-be98-b818fca780b4\", \"Представление\":\"ВыпускПоОперацииСтоимость\"}")]
		ВыпускПоОперацииСтоимость = 5,//Выпуск по операции стоимость
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"e7149196-bc41-4ca7-81a7-13d002ceac71\", \"Представление\":\"ВозвратМатериаловИзЭксплуатации\"}")]
		ВозвратМатериаловИзЭксплуатации = 6,//Возврат материалов из эксплуатации
	}
	public static partial class КодыОперацийТоварыНаСкладах_Значения//:ПеречислениеСсылка
	{
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid СписаниеПартийВПроизводствоОперативно = new Guid("683c8b8a-d408-5918-476c-f6da7a7abcfa");//Списание партий в производство оперативно
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ВыпускПродукцииФиксНаСклад = new Guid("92929285-5bd1-5f38-410c-b0ffd8a4a784");//Выпуск продукции фикс. (на склад)
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ВозвратМатериаловИзПроизводстваФикс = new Guid("6ad2b18c-7669-a282-4ae8-d2fc7829f6aa");//Возврат материалов из производства по фиксированной стоимости
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ВозвратМатериаловИзПроизводстваРасч = new Guid("af0df686-2551-abcb-4912-76d07086269d");//Возврат материалов из производства по расчетной стоимости
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ВозвратПродукцииИзПроизводстваФикс = new Guid("c248eeb3-453b-f10f-43b1-728fcca88e3f");//Возврат продукции из производства по фиксированной стоимости
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ВыпускПоОперацииСтоимость = new Guid("18b898be-a7fc-b480-43b3-af0c9bff929d");//Выпуск по операции стоимость
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ВозвратМатериаловИзЭксплуатации = new Guid("d013a781-ce02-71ac-4ca7-bc41e7149196");//Возврат материалов из эксплуатации
		public static КодыОперацийТоварыНаСкладах Получить(this КодыОперацийТоварыНаСкладах Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static КодыОперацийТоварыНаСкладах Получить(this КодыОперацийТоварыНаСкладах Значение, Guid Ссылка)
		{
			if(Ссылка == СписаниеПартийВПроизводствоОперативно)
			{
				return КодыОперацийТоварыНаСкладах.СписаниеПартийВПроизводствоОперативно;
			}
			else if(Ссылка == ВыпускПродукцииФиксНаСклад)
			{
				return КодыОперацийТоварыНаСкладах.ВыпускПродукцииФиксНаСклад;
			}
			else if(Ссылка == ВозвратМатериаловИзПроизводстваФикс)
			{
				return КодыОперацийТоварыНаСкладах.ВозвратМатериаловИзПроизводстваФикс;
			}
			else if(Ссылка == ВозвратМатериаловИзПроизводстваРасч)
			{
				return КодыОперацийТоварыНаСкладах.ВозвратМатериаловИзПроизводстваРасч;
			}
			else if(Ссылка == ВозвратПродукцииИзПроизводстваФикс)
			{
				return КодыОперацийТоварыНаСкладах.ВозвратПродукцииИзПроизводстваФикс;
			}
			else if(Ссылка == ВыпускПоОперацииСтоимость)
			{
				return КодыОперацийТоварыНаСкладах.ВыпускПоОперацииСтоимость;
			}
			else if(Ссылка == ВозвратМатериаловИзЭксплуатации)
			{
				return КодыОперацийТоварыНаСкладах.ВозвратМатериаловИзЭксплуатации;
			}
			return КодыОперацийТоварыНаСкладах.ПустаяСсылка;
		}
		public static byte[] Ключ(this КодыОперацийТоварыНаСкладах Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this КодыОперацийТоварыНаСкладах Значение)
		{
			switch (Значение)
			{
				case КодыОперацийТоварыНаСкладах.СписаниеПартийВПроизводствоОперативно: return СписаниеПартийВПроизводствоОперативно;
				case КодыОперацийТоварыНаСкладах.ВыпускПродукцииФиксНаСклад: return ВыпускПродукцииФиксНаСклад;
				case КодыОперацийТоварыНаСкладах.ВозвратМатериаловИзПроизводстваФикс: return ВозвратМатериаловИзПроизводстваФикс;
				case КодыОперацийТоварыНаСкладах.ВозвратМатериаловИзПроизводстваРасч: return ВозвратМатериаловИзПроизводстваРасч;
				case КодыОперацийТоварыНаСкладах.ВозвратПродукцииИзПроизводстваФикс: return ВозвратПродукцииИзПроизводстваФикс;
				case КодыОперацийТоварыНаСкладах.ВыпускПоОперацииСтоимость: return ВыпускПоОперацииСтоимость;
				case КодыОперацийТоварыНаСкладах.ВозвратМатериаловИзЭксплуатации: return ВозвратМатериаловИзЭксплуатации;
			}
			return Guid.Empty;
		}
	}
}